From f4173427aee81d7600bb594c76dddd641b720cc1 Mon Sep 17 00:00:00 2001 From: parkrrrr Date: Sat, 19 Jul 2003 16:26:01 +0000 Subject: [PATCH] Modify header-reading code to better handle different variants of .mps files --- gpsbabel/mapsource.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gpsbabel/mapsource.c b/gpsbabel/mapsource.c index 29b586320..553a86f97 100644 --- a/gpsbabel/mapsource.c +++ b/gpsbabel/mapsource.c @@ -164,7 +164,15 @@ mps_read(void) int lon; waypoint *wpt; - fread(hdr, 45, 1, mps_file_in); + mps_readstr( hdr, sizeof(hdr)); + if ( strcmp( hdr, "MsRcd" )) { + fatal(MYNAME ": This doesn't look like a mapsource file.\n"); + } + fread( hdr, 7, 1, mps_file_in ); /* a DWORD and a string, looks like. */ + fread(&reclen, 4, 1, mps_file_in ); + reclen = le_read32(&reclen); + fseek( mps_file_in, reclen+1, SEEK_CUR); + /* fread(hdr, 45, 1, mps_file_in); */ #ifdef DUMP_ICON_TABLE printf("static icon_mapping_t icon_table[] = {\n"); #endif -- 2.30.2